1
O Contrato ISA e o Estado Arquitetônico
AI031Lesson 3
00:00

O Arquitetura de Conjunto de Instruções (ISA) serve como um nível fundamental de abstração e um contrato formal entre software e hardware. Embora linguagens de alto nível como C ocultem a complexidade, o ISA expõe o estado arquitetônico—a configuração precisa dos registradores e da memória do processador.

1. O Estado Arquitetônico

Uma CPU x86-64 define seu estado por meio de vários componentes-chave:

  • Contador de Programa (%rip): Armazena o endereço da próxima instrução.
  • Arquivo de Registradores Inteiros: 16 registradores de uso geral (por exemplo, %rax, %rbx) armazenando valores de 64 bits.
  • Códigos de Condição: Flags (ZF, SF, CF, OF) para fluxo de controle.
  • Registradores Vetoriais: Como registradores YMM (256 bits) para operações SIMD.

2. Abstração de Memória

O código de máquina vê a memória como uma grande matriz endereçável por byte. Embora o x86-64 suporte endereços virtuais de 64 bits, as implementações atuais costumam usar um espaço de endereços de 48 bits ($2^{48}$ bytes). Classificamos os tamanhos de dados como Palavra (16 bits), Palavra dupla (32 bits) e Palavra quádrupla (64 bits).

CPU (Estado)%rip (PC)Registradores (%rax..)Códigos de CondiçãoCONTRATO ISAmovq, ret, leaqMemória Virtual0xFFFF... (Pilha)0x0000... (Código)

3. Evolução e Compatibilidade

Impulsionado por A Lei de Moore, a Intel evoluiu do 8086 até Core i7 Haswell. O ISA garante compatibilidade com versões anteriores, permitindo que códigos de máquina legados sejam executados em hardware moderno com múltiplos núcleos e hiperthreading.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>